home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_100
/
154_01
/
darken.c
< prev
next >
Wrap
Text File
|
1980-01-01
|
1KB
|
75 lines
/* darken.c: overstrike text lines for darker output -
-----
(c) Chuck Allison, 1985
-----
*/
#include <stdio.h>
#define MAXLINE 256
#define MAXFILES 150
int strikes = 3; /* ..default line-print count.. */
main(argc,argv)
int argc;
char *argv[];
{
FILE *f;
int i,
xargc, /* ..expanded arg count (after options).. */
maxarg = MAXFILES; /* ..max allowable args after expanding.. */
char *xargv[MAXFILES]; /* ..arg vector after expanding.. */
/* ..process switches.. */
if (argv[1][0] == '-')
{
strikes = atoi(argv[1]+1);
++argv;
--argc;
}
/* ..process files.. */
if (argc == 1)
dk(stdin,"");
else
{
/* ..expand filespecs.. (Mark Williams only!) */
xargc = exargs("",argc,argv,xargv,maxarg);
/* ..print each file.. */
for (i = 0; i < xargc; ++i)
if ((f = fopen(xargv[i],"r")) != NULL)
{
dk(f,xargv[i]);
fclose(f);
}
else
fprintf(stderr,"can't open: %s\n",xargv[i]);
}
}
dk(f)
FILE *f;
{
int i;
char *line;
line = (char *) malloc(MAXLINE);
while (fgets(line,MAXLINE-1,f) != NULL)
{
/* ..check for form-feed at line start.. */
if (*line == '\f')
{
putchar('\f');
line++;
}
line[strlen(line)-1] = '\0'; /* zap \n */
for (i = 0; i < strikes; ++i)
printf("%s\r",line);
putchar('\n');
}
}